package org.icosagon.core.magic;

import java.util.Vector;
import org.icosagon.core.character.traits.Skill;

/**
 *
 * @author Daniel Owens
 */
public class Incantation extends Spell {
    public final static String ATTACK="ATTACK",
            AUGMENT="AUGMENT",
            BETRAYAL="BATRAYAL",
            DAMAGE="DAMAGE",
            DEATH="DEATH",
            DELUSION="DELUSION",
            FALSEHOOD="FALSEHOOD",
            HOSTILE_SPELL="HOSTILE SPELL",
            MIRRORCAST="MIRRORCAST",
            REVERSAL="REVERSAL";

    private Vector<Skill> checks = new Vector<Skill>(1, 3);
    private String failure = null;
    private String failure_desc = null;
    private String backlash_desc = null;

    public Incantation(String name) {
        super(name);
    }

    public void putSkillCheck(Skill skill) {
        this.checks.add(skill);
    }

    public void removeSkillCheck(Skill skill) {
        this.checks.remove(skill);
    }

    public Vector<Skill> getSkillChecks() {
        return this.checks;
    }

    public void setFailure(String type) {
        this.failure = type.trim();
    }

    public String getFailure() {
        return this.failure;
    }

    public void setFailureDescription(String desc) {
        this.failure_desc = desc.trim();
    }

    public String getFailureDescription() {
        return this.failure_desc;
    }

    public void setBacklashDescription(String desc) {
        this.backlash_desc = desc;
    }

    public String getBacklashDescription() {
        return this.backlash_desc;
    }
}